render node: Optimize type checks
authorMatthias Clasen <mclasen@redhat.com>
Sat, 1 Jun 2019 21:25:55 +0000 (21:25 +0000)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 5 Jun 2019 04:25:43 +0000 (04:25 +0000)
The GSK_IS_RENDER_NODE macro is a bit silly,
and not worth having in g_return_if_fail checks
in trivial getters.

gsk/gskrendernode.c

index 781eb797d1e820117424a926645679388a51fc42..bbf42975af614c6886d53afda462d85bb5cb9745 100644 (file)
@@ -145,6 +145,13 @@ gsk_render_node_get_node_type (GskRenderNode *node)
   return node->node_class->node_type;
 }
 
+static inline
+GskRenderNodeType
+_gsk_render_node_get_node_type (GskRenderNode *node)
+{
+  return node->node_class->node_type;
+}
+
 /**
  * gsk_render_node_get_bounds:
  * @node: a #GskRenderNode
@@ -247,7 +254,7 @@ gsk_render_node_can_diff (GskRenderNode *node1,
   if (node1 == node2)
     return TRUE;
 
-  if (gsk_render_node_get_node_type (node1) != gsk_render_node_get_node_type (node2))
+  if (_gsk_render_node_get_node_type (node1) != _gsk_render_node_get_node_type (node2))
     return FALSE;
 
   return node1->node_class->can_diff (node1, node2);
@@ -301,7 +308,7 @@ gsk_render_node_diff (GskRenderNode  *node1,
   if (node1 == node2)
     return;
 
-  if (gsk_render_node_get_node_type (node1) != gsk_render_node_get_node_type (node2))
+  if (_gsk_render_node_get_node_type (node1) != _gsk_render_node_get_node_type (node2))
     return gsk_render_node_diff_impossible (node1, node2, region);
 
   return node1->node_class->diff (node1, node2, region);